package com.shop.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.shop.datasource.DataSource;
import com.shop.datasource.DynamicDataSourceHolder;
import com.shop.entity.Dept;
import com.shop.mapper.DeptMapper;

@Service
//默认DataServiceImpl下的所有方法均访问数据源1
@DataSource("dataSource1")
public class DeptServiceImpl implements DeptService {
    @Autowired
    private DeptMapper dataMapper;

    @Override
    public List<Dept> getList1() {
        // 没有指定，则默认使用数据源1
        return dataMapper.getList1();
    }

    @Override
    // 覆盖类上指定的，使用数据源2
    @DataSource("dataSource2")
    public List<Dept> getList2() {
        // 指定切换到数据源2
        //DynamicDataSourceHolder.setDataSource("dataSource2");
        return dataMapper.getList2();
    }

    @Override
    // 覆盖类上指定的，使用数据源2
    @DataSource("dataSource3")
    public List<Dept> getList3() {
        // 指定切换到数据源3
        //DynamicDataSourceHolder.setDataSource("dataSource3");
        return dataMapper.getList3();
    }
}